{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "88ac88cc",
   "metadata": {},
   "source": [
    "* --2023-09--25\n",
    "* 课程：Python语言\n",
    "* week04"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "b99e3938",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "4\n"
     ]
    }
   ],
   "source": [
    "print(2+2)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a6d67d1f",
   "metadata": {},
   "source": [
    "# 本周内容\n",
    "## 1.两种基本的数据形态"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "66072ced",
   "metadata": {},
   "source": [
    "### 1.1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "b927efe9",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "20\n"
     ]
    }
   ],
   "source": [
    "print(50 -5*6)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "6bbba5ff",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "5.666666666666667"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "17/3"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "d8a37885",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "5"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "17//3 #取模"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "42477c87",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "17%3 #取余"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "c3f21caf",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "125"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "5 ** 3 #次幂"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "cc59d17d",
   "metadata": {},
   "outputs": [],
   "source": [
    "width =40\n",
    "hight= 120"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "bf6d28c4",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "40"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "width"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "67eacea5",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "4800"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "width * hight"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "ec92f4ce",
   "metadata": {},
   "outputs": [
    {
     "ename": "TypeError",
     "evalue": "'int' object is not iterable",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mTypeError\u001b[0m                                 Traceback (most recent call last)",
      "Cell \u001b[1;32mIn[15], line 2\u001b[0m\n\u001b[0;32m      1\u001b[0m \u001b[38;5;66;03m# 数据的类型\u001b[39;00m\n\u001b[1;32m----> 2\u001b[0m \u001b[38;5;28mprint\u001b[39m (\u001b[38;5;28mtuple\u001b[39m(width))\n",
      "\u001b[1;31mTypeError\u001b[0m: 'int' object is not iterable"
     ]
    }
   ],
   "source": [
    "# 数据的类型\n",
    "print (tuple(width))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "d00d79c7",
   "metadata": {},
   "outputs": [],
   "source": [
    "PI =3.1415926"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "7b8e45d0",
   "metadata": {},
   "outputs": [
    {
     "ename": "NameError",
     "evalue": "name 'typle' is not defined",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mNameError\u001b[0m                                 Traceback (most recent call last)",
      "Cell \u001b[1;32mIn[17], line 1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m \u001b[38;5;28mprint\u001b[39m(typle(PI))\n",
      "\u001b[1;31mNameError\u001b[0m: name 'typle' is not defined"
     ]
    }
   ],
   "source": [
    "print(typle(PI))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "51ef0f7e",
   "metadata": {},
   "source": [
    "### 1.2数值的方法"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "e2797d0a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "5"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "abs(-5) # 绝对值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "24590b70",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "3.14"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "round(PI,2) #保留小数位"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5b4edc69",
   "metadata": {},
   "source": [
    "## 2. 文本数据（字符串）"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "aea8e2de",
   "metadata": {},
   "source": [
    "* <font color=\"red\">用单引号和双引号框起来的叫字符串</font>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "61d8f0a1",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'1975'"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "\"1975\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "fd9df093",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'eggs'"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "'eggs'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "c1df4fab",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'1975'"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "年份 =\"1975\"\n",
    "年份"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "cd84b6ae",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'str'>\n"
     ]
    }
   ],
   "source": [
    "print(type(年份))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "e6918128",
   "metadata": {},
   "outputs": [
    {
     "ename": "TypeError",
     "evalue": "can only concatenate str (not \"int\") to str",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mTypeError\u001b[0m                                 Traceback (most recent call last)",
      "Cell \u001b[1;32mIn[28], line 1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m 年份\u001b[38;5;241m+\u001b[39mwidth\n",
      "\u001b[1;31mTypeError\u001b[0m: can only concatenate str (not \"int\") to str"
     ]
    }
   ],
   "source": [
    "年份+width"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "efbe7956",
   "metadata": {},
   "outputs": [
    {
     "ename": "SyntaxError",
     "evalue": "unterminated string literal (detected at line 1) (587911855.py, line 1)",
     "output_type": "error",
     "traceback": [
      "\u001b[1;36m  Cell \u001b[1;32mIn[30], line 1\u001b[1;36m\u001b[0m\n\u001b[1;33m    'doesn't' #语法错误\u001b[0m\n\u001b[1;37m            ^\u001b[0m\n\u001b[1;31mSyntaxError\u001b[0m\u001b[1;31m:\u001b[0m unterminated string literal (detected at line 1)\n"
     ]
    }
   ],
   "source": [
    "'doesn't' #语法错误"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "id": "f28813fe",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "\"don't\""
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "\"don't\" #所以双引号也是字符串"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "id": "1a9ce28c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'\"ing\"'"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "'\"ing\"'  #而这种不行"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5ca192b7",
   "metadata": {},
   "source": [
    "### 2.2文本数据的方法\n",
    "\n",
    "* 字符串的概念\n",
    "* 字符串的序列(自然数是从0开始的)，序列也是从0开始的\n",
    "* 通过实践：我们发现，序列数据类型的数据可以通过位置进行取值和切片"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c87f267a",
   "metadata": {},
   "source": [
    "#### 在 Python 中处理文本数据是使用 str 对象，也称为 字符串。 字符串是由 Unicode 码位构成的不可变 序列。https://docs.python.org/zh-cn/3/"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "id": "6a3b1def",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'1975'"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "年份"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "id": "ff38007b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "4"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(年份) #长度"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "id": "63e511a5",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'5'"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "年份[3]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "id": "ef358dfa",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'广州市从化区温泉大道882号广州南方学院'"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "学校= \"广州市从化区温泉大道882号广州南方学院\"\n",
    "学校"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "id": "477efa8c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'广'"
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "学校[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "id": "06222891",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'广州市'"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# \n",
    "学校[0:3]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "id": "222ac835",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'温泉大道'"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "学校[6:10]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "id": "6c921bf4",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'院'"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "学校[-1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "id": "0d09c498",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'广州市'"
      ]
     },
     "execution_count": 50,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "学校[:3] #如果从0开始，可以不写0"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 80,
   "id": "bed82f19",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'学院'"
      ]
     },
     "execution_count": 80,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "学校[-2:] #最后一位不能写0"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "id": "aeec3c60",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2"
      ]
     },
     "execution_count": 83,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# count()\n",
    "\n",
    "学校.count('广州')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "68e63898",
   "metadata": {},
   "source": [
    "### 3.Range()\n",
    "* 理解序列的概念（深入）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 85,
   "id": "d97e0446",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "range(0, 5)"
      ]
     },
     "execution_count": 85,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "range(5)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5f5f3f48",
   "metadata": {},
   "source": [
    "* 起始点\n",
    "* 终止点\n",
    "* 步长（默认1）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 87,
   "id": "8f6b7a3b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[0, 1, 2, 3, 4]"
      ]
     },
     "execution_count": 87,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "list(range(5))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 88,
   "id": "55da7a1b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[5, 6, 7, 8, 9]"
      ]
     },
     "execution_count": 88,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "list(range(5,10))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 93,
   "id": "2237b295",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[0, 2, 4, 6, 8]"
      ]
     },
     "execution_count": 93,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#step 步长\n",
    "list(range(0,10,2))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "dde96116",
   "metadata": {},
   "source": [
    "### 4.for循环"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 96,
   "id": "2166882c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[0,\n",
       " 1,\n",
       " 2,\n",
       " 3,\n",
       " 4,\n",
       " 5,\n",
       " 6,\n",
       " 7,\n",
       " 8,\n",
       " 9,\n",
       " 10,\n",
       " 11,\n",
       " 12,\n",
       " 13,\n",
       " 14,\n",
       " 15,\n",
       " 16,\n",
       " 17,\n",
       " 18,\n",
       " 19,\n",
       " 20,\n",
       " 21,\n",
       " 22,\n",
       " 23,\n",
       " 24,\n",
       " 25,\n",
       " 26,\n",
       " 27,\n",
       " 28,\n",
       " 29,\n",
       " 30,\n",
       " 31,\n",
       " 32,\n",
       " 33,\n",
       " 34,\n",
       " 35,\n",
       " 36,\n",
       " 37,\n",
       " 38,\n",
       " 39,\n",
       " 40,\n",
       " 41,\n",
       " 42,\n",
       " 43,\n",
       " 44,\n",
       " 45,\n",
       " 46,\n",
       " 47,\n",
       " 48,\n",
       " 49,\n",
       " 50,\n",
       " 51,\n",
       " 52,\n",
       " 53,\n",
       " 54,\n",
       " 55,\n",
       " 56,\n",
       " 57,\n",
       " 58,\n",
       " 59,\n",
       " 60,\n",
       " 61,\n",
       " 62,\n",
       " 63,\n",
       " 64,\n",
       " 65,\n",
       " 66,\n",
       " 67,\n",
       " 68,\n",
       " 69,\n",
       " 70,\n",
       " 71,\n",
       " 72,\n",
       " 73,\n",
       " 74,\n",
       " 75,\n",
       " 76,\n",
       " 77,\n",
       " 78,\n",
       " 79,\n",
       " 80,\n",
       " 81,\n",
       " 82,\n",
       " 83,\n",
       " 84,\n",
       " 85,\n",
       " 86,\n",
       " 87,\n",
       " 88,\n",
       " 89,\n",
       " 90,\n",
       " 91,\n",
       " 92,\n",
       " 93,\n",
       " 94,\n",
       " 95,\n",
       " 96,\n",
       " 97,\n",
       " 98,\n",
       " 99]"
      ]
     },
     "execution_count": 96,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "num =list(range(0,100))\n",
    "num"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 99,
   "id": "669c673f",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "202301010\n",
      "202301011\n",
      "202301012\n",
      "202301013\n",
      "202301014\n",
      "202301015\n",
      "202301016\n",
      "202301017\n",
      "202301018\n",
      "202301019\n",
      "2023010110\n",
      "2023010111\n",
      "2023010112\n",
      "2023010113\n",
      "2023010114\n",
      "2023010115\n",
      "2023010116\n",
      "2023010117\n",
      "2023010118\n",
      "2023010119\n",
      "2023010120\n",
      "2023010121\n",
      "2023010122\n",
      "2023010123\n",
      "2023010124\n",
      "2023010125\n",
      "2023010126\n",
      "2023010127\n",
      "2023010128\n",
      "2023010129\n",
      "2023010130\n",
      "2023010131\n",
      "2023010132\n",
      "2023010133\n",
      "2023010134\n",
      "2023010135\n",
      "2023010136\n",
      "2023010137\n",
      "2023010138\n",
      "2023010139\n",
      "2023010140\n",
      "2023010141\n",
      "2023010142\n",
      "2023010143\n",
      "2023010144\n",
      "2023010145\n",
      "2023010146\n",
      "2023010147\n",
      "2023010148\n",
      "2023010149\n",
      "2023010150\n",
      "2023010151\n",
      "2023010152\n",
      "2023010153\n",
      "2023010154\n",
      "2023010155\n",
      "2023010156\n",
      "2023010157\n",
      "2023010158\n",
      "2023010159\n",
      "2023010160\n",
      "2023010161\n",
      "2023010162\n",
      "2023010163\n",
      "2023010164\n",
      "2023010165\n",
      "2023010166\n",
      "2023010167\n",
      "2023010168\n",
      "2023010169\n",
      "2023010170\n",
      "2023010171\n",
      "2023010172\n",
      "2023010173\n",
      "2023010174\n",
      "2023010175\n",
      "2023010176\n",
      "2023010177\n",
      "2023010178\n",
      "2023010179\n",
      "2023010180\n",
      "2023010181\n",
      "2023010182\n",
      "2023010183\n",
      "2023010184\n",
      "2023010185\n",
      "2023010186\n",
      "2023010187\n",
      "2023010188\n",
      "2023010189\n",
      "2023010190\n",
      "2023010191\n",
      "2023010192\n",
      "2023010193\n",
      "2023010194\n",
      "2023010195\n",
      "2023010196\n",
      "2023010197\n",
      "2023010198\n",
      "2023010199\n"
     ]
    }
   ],
   "source": [
    "#便历\n",
    "for 学号 in num:\n",
    "    print(\"20230101\" + str(学号))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 100,
   "id": "4967f9ba",
   "metadata": {},
   "outputs": [
    {
     "ename": "SyntaxError",
     "evalue": "invalid syntax (2350517146.py, line 1)",
     "output_type": "error",
     "traceback": [
      "\u001b[1;36m  Cell \u001b[1;32mIn[100], line 1\u001b[1;36m\u001b[0m\n\u001b[1;33m    https://www.nfu.edu.cn/index28.htm\u001b[0m\n\u001b[1;37m          ^\u001b[0m\n\u001b[1;31mSyntaxError\u001b[0m\u001b[1;31m:\u001b[0m invalid syntax\n"
     ]
    }
   ],
   "source": [
    "https://www.nfu.edu.cn/index28.htm"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 103,
   "id": "940857f1",
   "metadata": {},
   "outputs": [
    {
     "ename": "SyntaxError",
     "evalue": "unterminated string literal (detected at line 2) (2211098622.py, line 2)",
     "output_type": "error",
     "traceback": [
      "\u001b[1;36m  Cell \u001b[1;32mIn[103], line 2\u001b[1;36m\u001b[0m\n\u001b[1;33m    print(\"https://www.nfu.edu.cn/index\"+str(i)+\"\".htm\")\u001b[0m\n\u001b[1;37m                                                      ^\u001b[0m\n\u001b[1;31mSyntaxError\u001b[0m\u001b[1;31m:\u001b[0m unterminated string literal (detected at line 2)\n"
     ]
    }
   ],
   "source": [
    "for i in range(29):\n",
    "    print(\"\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "23a7ea0b",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
